/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.saber.certificacao.ejbs.stateless.interfaces;

import br.com.saber.certificacao.modelos.Certificacao;
import br.com.saber.certificacao.modelos.ObjetivoCertificacao;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author Guilherme
 */
@Local
public interface ObjetivoCertificacaoBeanLocal {
    /**
     * Persiste ObjetivoCertificacao no banco de dados.
     * ValidacaoExcecao pode ser lançada dependo das regras para o objeto.
     * @param objetivoCertificacao 
     */
    void createObjetivoCertificacao(ObjetivoCertificacao objetivoCertificacao);
    /**
     * Devolve o objetivo certificação que possui o objetivo passado
     * como parâmetro.<br>
     * Se não houver retorna null.
     * @param objetivo
     * @return 
     */
    ObjetivoCertificacao buscarObjetivoCertificacaoPorObjetivo(String objetivo);

    /**
     * Retorna todos os ObjetivosCertificacao cadastrados
     * @return List Objetivos
     */
    List<ObjetivoCertificacao> buscarTodosObjetivos();
    
    
    /**
     * Busca objetivos de questões dentro de um intervalo like
     * passado como parâmetro, filtra por certificação.
     * Para shooser´s implementados por objetivo.
     * @param like
     * @param certificacao
     * @return 
     */
    List<String> buscarObjetivosDistintos(String like, Certificacao certificacao);
}
